/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* trainningPlan(struct ListNode* head) {
    if(head == NULL )return NULL;
    struct ListNode* curr = head -> next;
   
    
    head -> next = NULL;

    while(curr  != NULL)
    {
        struct ListNode* temp = curr -> next;
        
        curr -> next = head;
        head = curr;
        curr = temp;
       
         
    }
    return head;

}